using System;
using System.Collections.Generic;
using System.Text;

namespace OX.Strongbind
{
    /// <summary>
    /// Holds configurable options for binding scopes. 
    /// This object can be passed to the <see cref="BindingScope" /> 
    /// constructor to configure various options that control the
    /// behavior of a binding scope.
    /// </summary>
    public class BindingScopeOptions
    {
        private bool useSeparateAppDomain;
        private bool allowProxiesInCurrentAppDomain;

        public bool UseSeparateAppDomain
        {
            get { return useSeparateAppDomain; }
        }

        public bool AllowProxiesInCurrentAppDomain
        {
            get { return allowProxiesInCurrentAppDomain; }
        }

        public BindingScopeOptions()
        {
            useSeparateAppDomain = true;
            allowProxiesInCurrentAppDomain = false;
        }

        public BindingScopeOptions(bool useSeparateAppDomain, bool allowProxiesInCurrentAppDomain)
        {
            this.useSeparateAppDomain = useSeparateAppDomain;
            this.allowProxiesInCurrentAppDomain = allowProxiesInCurrentAppDomain;
        }
    }
}
